home *** CD-ROM | disk | FTP | other *** search
/ Fritz: All Fritz / All Fritz.zip / All Fritz / FILES / GRAPTIES / CRISTLE.LZH / CRYSTAL.DOC next >
Text File  |  1985-11-03  |  3KB  |  89 lines

  1. File Name:
  2.  
  3.    crystal.doc
  4.  
  5. Title:
  6.  
  7.    crystal -- Copyright (c)1985 Scott D. Thomas, Palo Alto, CA, 85-11-03
  8.               For public distribution in its original form.
  9.  
  10. Purpose:
  11.  
  12.    Project a three dimensional wire frame object to the IBM PC's graphics
  13.    screen by using a rotation and projection to two dimensions.  User may
  14.    rotate the object about each coordinate axis and change the perspective.
  15.    A movie that consists of up to 500 three dimensional objects may also be
  16.    displayed in sequence together with the rotation mentioned above.
  17.  
  18. Performance:
  19.  
  20.    An object consisting of 80 line segments can be rendered at least five
  21.    times per second, provided an 8087 or 80287 math chip is installed.
  22.    Crystal will still work without the math chip, but at a much reduced rate.
  23.  
  24. Discussion:
  25.  
  26.    This program requires an IBM PC, DOS 2.0+, a Color Graphics Adapter
  27.    and 256 K.  Optional math chip will be used unless NO87 is defined.
  28.  
  29.    Use the cursor keys, Ins-Del, or j-u, k-i, l-o, ;-p to rotate the object
  30.    or change perspective.  Esc, q, or x to quit.  Space bar stops spinning.
  31.  
  32.    usage:- crystal [flags] [filenames]
  33.    flags:-
  34.             h=n  horizontal scale, default is  h=1.0
  35.             v=n  vertical scale,   default is  v=1.0
  36.             -r   auto reverse, movie runs forward and backward
  37.             -s   initial condition will cause object to spin
  38.  
  39.    The default case is a dodecahedron.
  40.  
  41.    The named files must be vector data files containing one or more frame.
  42.    Each frame consists of numbers formatted as follows.  First line is number
  43.    of line segments to draw, subsequent lines have floating-point x, y, z,
  44.    and an integer indicating whether the pen is up or down.  The 3D points
  45.    (x,y,z) should lie inside a unit sphere.  Primitive clipping is performed
  46.    with maximum resolution 0 to 319 horizontally by 0 to 199 vertically.
  47.  
  48.    For example, try the cube:
  49.  
  50.    15
  51.    0.5 0.5 0.5 1
  52.    -.5 0.5 0.5 1
  53.    -.5 -.5 0.5 1
  54.    0.5 -.5 0.5 1
  55.    0.5 0.5 0.5 2
  56.    0.5 0.5 -.5 1
  57.    -.5 0.5 -.5 1
  58.    -.5 -.5 -.5 1
  59.    0.5 -.5 -.5 1
  60.    0.5 0.5 -.5 0
  61.    0.5 -.5 0.5 2
  62.    0.5 -.5 -.5 0
  63.    -.5 0.5 0.5 2
  64.    -.5 0.5 -.5 0
  65.    -.5 -.5 0.5 2
  66.    -.5 -.5 -.5 0
  67.  
  68. Further Study:
  69.  
  70.    Stats on crystal.exe:
  71.  
  72.       CRYSTAL  EXE    34048  11-03-85   6:11p
  73.  
  74.    Each of the following .DAT files contain one object.
  75.  
  76.       TETRA    DAT      384   8-14-85   9:55a  -  tetrahedron
  77.       OCTO     DAT      384   7-31-85   4:59p  -  octohedron
  78.       DODECVEC DAT     1408   3-03-85   4:49p  -  dodecahedron
  79.       D2VEC    DAT     2560   6-17-85   9:55p  -  nested dodecahedrons
  80.       LINES    DAT     1664   8-23-85   1:46p  -  parallel line segments
  81.       CUBE     DAT      256   6-22-85  10:15p  -  cube
  82.  
  83.    The following C program creates a movie with 80 frames.
  84.  
  85.       DUAL     EXE    12416  11-03-85   6:39p
  86.       DUAL     C       5120  11-03-85   6:35p  -  instructions are here
  87.  
  88. End of crystal.doc:-)
  89.